//任务描述
//		本关任务：定义一个 Student 学生公开类，该类具有学号 id(int)，年龄 age(int)，grade(int) 等属性；
//		它们所具有的行为有学习 study()，考试 examination()，讲话 tell()，它们都无返回值和传入的参数。
//
//		study 方法的功能为换行输出：学号为xx的学生正在学习。；
//		examination 方法的功能为换行输出：xx年级正在考试。；
//		tell 方法的功能为不换行输出：正在讲话的是一个xx岁的学生。。
//
//		相关知识
//		为了完成本关任务，你需要掌握：
//
//		类的基本概念；
//		类的声明；
//		类的成员变量、局部变量和类变量；
//		成员方法。
//		类
//		Java 是一门面向对象的编程语言，而面向对象最关键的两个词汇是类与对象。这里我们主要给大家讲解类的概念。
//
//		类： 类就是具备某些共同特征的实体的集合，它是一种抽象的数据类型（它属于引用数据类型），它是对所具有相同特征实体的抽象。
//
//		对象：是类的一个实例，有状态和行为。每个对象拥有自己独立的属性，依靠属性来区分不同对象。
//
//		在面向对象的程序设计语言中，类是对一类“事物”的属性与行为的抽象。属性是事物的状态，行为就是这个事物可以做什么。比如，
//		人就是一个类，那么具体的某个人“小明”就是“人”这个类的对象，而“体重、性别、年龄”等信息就是对象的属性，人的行为比如“吃饭、睡觉和玩”等就是对象的方法。
//
//		注意：类只是一个抽象的概念，它仅仅是一个概念，是不存在的实体！
//
//		类的声明
//		在 Java 中定义类，使用关键字 class 完成。语法如下：
//
//		权限修饰符 class 类名称 {
//	属性 (成员变量) ;
//	行为 (成员方法（函数）) ;
//}
//权限修饰符可写可不写，我们之前见到的 public 就是权限修饰符的一种。在后面的学习任务中，我会为大家详细介绍。
//
//		例子：声明一个人类。
//
//public class Person {
//	// 属性 (成员变量) ;
//	// 行为 (成员方法（函数）) ;
//}
//public 表示“共有”的意思。如果使用 public 修饰，则可以被其他类和程序访问。每个 Java 程序的主类都必须是 public 类。
//
//		创建一个新的类，就是创建一个新的数据类型。定义类其实就是在定义类中的成员（成员变量和成员函数）。
//
//		变量
//		在 Java 中类的成员变量定义了类的属性。例如，一个人类中一般有体重、性别和年龄等属性，这时就需要定义体重、性别和年龄 3 个属性。
//
//		那 Java 中的成员变量又是什么呢？
//
//		首先我们来看，Java 语言支持的变量类型有：
//
//		局部变量：在类的方法中定义的变量，且只能在该方法中使用，我们之前学习的变量都是局部变量；定义以后必须赋值才能使用；
//
//		成员变量：也称为实例变量，它的定义在方法的外部，直接写在类当中；随着对象创建而诞生，随着对象被垃圾回收而消失；
//		如果是对某个对象的特殊描述，可以用该变量；定义时如果不赋值的话，会采用默认初始值；
//
//		静态变量：也称为类变量，实质上是一个全局变量。它的定义在方法的外部，直接写在类当中，与类共存亡，它用 static 修饰，
//		如果某个内容是被所有对象所共享，那么该内容就应该用 static 修饰；定义时如果不赋值的话，会采用默认初始值。
//
//		例子：
//
//public class Demo {
//	static int a;     // 类变量
//	int b;     // 实例变量
//	public static void main(String[] args) {
//		int c;     // 局部变量
//	}
//}
//我们再来看一下它们是如何被引用的：
//
//		局部变量可以直接在方法中赋值或引用，就像我们之前学习的一样；
//		成员变量必须得通过创建一个对象后引用；
//		类变量在这个类中可以直接拿来用，若是在另一个类中要用到该类的类变量，需要通过类名.变量名引用。
//		现在我们对成员变量已经有了一定的了解，接下来看个例子吧。
//
//		在 Person 类中定义该类的成员变量，也就是该类的属性。
//
//public class Person {
//	// 属性 (成员变量) ;
//	double weight ;     // 为该类定义一个表示体重的成员变量
//	char sex;     // 为该类定义一个表示性别的成员变量
//	int age;     // 为该类定义一个表示年龄的成员变量
//}
//成员方法
//		在 Java 中类的成员方法定义了类的行为。例如，一般人会有吃饭、睡觉和玩等行为，在定义人的类时，就需要定义吃饭、睡觉和玩 3 个方法。
//
//		类的各种功能操作都是用方法来实现的，属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法参数和方法返回值类型。
//
//		成员方法的声明语法：
//
//		[权限修饰符]　返回值类型　方法名（[参数类型　参数名]） {
//		// 方法体
//		// 返回值
//		}
//		注意：[ ] 表示可写可不写。
//
//		返回值类型：我们之前学到的八种基本类型和 void 都可以用来做方法的返回值类型。要注意的是 void 表示没有返回值，
//		所以不需要写返回值语句，而其他类型都需要返回一个该类型的值。
//
//		返回值语句：
//
//		return 返回值;
//		参数类型 参数名：可以有多个，这些参数都要有自己的数据类型，可以是原始数据类型，也可以是复杂数据类型，
//		一个方法主要依靠参数来传递消息。方法主体是方法中执行功能操作的语句。
//
//		例子：
//
//public int a(){     // 定义一个名为a，返回值类型为int的成员方法
//// 返回值语句： return 返回值;
//		return 0;     // 由于返回值类型为 int，所以需要返回一个int型的常量或变量
//		}
//public void c(){  // 定义一个成员方法，它的名为c，返回值类型为void，该方法不需要返回值。
//		}
//		以上是没有携带参数的，那携带参数的又是怎么回事呢？
//
//		例子：
//
//public double b(int a,double b){     // 定义一个名为c，返回值类型为double的成员方法，
//
// 其携带的参数有两个，一个为int型的变量a，一个double型的变量b
//		double c = a*b;
//		return c;     // 由于返回值类型为 int，所以需要返回一个int型的常量或变量
//		}
//		成员方法的调用必须通过实例一个对象来调用。
//
//		同样方法也可以被 static 修饰，变为静态方法，只不过变为静态方法以后，就不能调用实例变量，
//		而成员方法却可以调用静态变量。如果在该类中调用静态方法的话，我们可以直接调用，而如果不在同一个类中，
//		需要通过类名.方法名()或者实例一个对象，通过该对象调用静态方法。
//
//		例子：在人的类中定义它的成员方法（行为）。
//
//public class Person {
//	// 属性 (成员变量) ;
//	double weight = 100.00;     // 为该类定义一个表示体重的成员变量
//	char sex = '男';     // 为该类定义一个表示性别的成员变量
//	int age = 18;     // 为该类定义一个表示年龄的成员变量
//	// 定义一个名为a，返回值类型为int的成员方法
//	public void eat(){     // 该成员方法表示吃饭这个行为
//		System.out.printf("我喜欢吃饭，所以我的体重高达%f千克\n",weight);
//	}
//	// 定义一个名为a，返回值类型为int的成员方法
//	public void sleep(){     // 该成员方法表示睡觉这个行为
//		System.out.println("我正在睡觉！");
//	}
//	public void play(){     // 该成员方法表示玩这个行为
//		System.out.printf("我的性别为%c，今年%d岁，我喜欢玩耍",sex,age);
//	}
//}
//编程要求
//		仔细阅读右侧编辑区内给出的代码框架及注释，按照提示编写程序代码。
//
//		测试说明
//		平台将使用测试集运行你编写的程序代码，若全部的运行结果正确，则通关。
//		可在右侧“测试结果”区查看具体的测试集详情。

/**
 * 任务：定义一个 Student 学生公开类，该类具有学号 id(int)，年龄 age(int)，grade(int) 等属性；
 * 它们所具有的行为有学习 study()，考试 examination()，讲话 tell()，它们都无返回值和传入的参数。
 * 类名为：Student
 */
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/

// 第一步：创建一个名为 Student 的公开类
public class test {
	// 第二步：定义学生的属性
	int id;      // 学号
	int age;     // 年龄
	int grade;   // 年级

	// 第三步：定义学生的行为方法
	// 学习方法
	public void study() {
		System.out.println("学号为" + id + "的学生正在学习。");
	}

	// 考试方法
	public void examination() {
		System.out.println(grade + "年级正在考试。");
	}

	// 讲话方法
	public void tell() {
		System.out.print("正在讲话的是一个" + age + "岁的学生。");
	}
/********** End **********/
}
